//package com.iflytek.sbd.demo.lambda;
//
//myimport java.util.ArrayList;
//myimport java.util.function.Consumer;
//
///**
// * @program: sbd
// * @description: 多线程流
// * @author: 陈英俊
// * @create: 2022-01-04 09:32
// */
//public class ParallelStreamDemo {
//
//
//    public static void main(String[] args) {
//
//        /**
//         * 2个集合,一个集合遍历数据往另外一个集合添加数据
//         */
//        ArrayList<Integer> list = new ArrayList<>();
//        for (int i = 1; i <= 10000; i++) {
//            list.add(i);
//        }
//
//        ArrayList<Integer> list1 = new ArrayList<>();
//
//        long start = System.currentTimeMillis();
//        list.parallelStream().forEach(new Consumer<Integer>() {
//            @Override
//            public void accept(Integer integer) {
//                list1.add(integer);// 多个线程进行处理一个集合,这个集合不是线程安全的,会产生问题,我测试的时候就是产生了索引越界问题
//            }
//        });
//        long end = System.currentTimeMillis();
//        System.out.println(end - start + "ms");
//        System.out.println(list1.size());
//        /**
//         * 1个集合,多线程遍历set
//         */
//        ArrayList<Student> students = new ArrayList<>();
//        for (int i = 1; i <= 100; i++) {
//            students.add(new Student());
//        }
//
//        students.parallelStream().forEach(student -> {
//            student.setName("去数据库查询出来");// 这样不会出现线程安全问题
//            student.setAge(1);
//        });
//        System.out.println(students.size());
//        for (Student student : students) {
//            System.out.println(student);
//        }
//    }
//}
